<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <!--
        Vue 指令 v-for
        1.作用: 基于数据循环，多次渲染整个元素 -> 数组、对象、数字.
        2.遍历数组语法:
            v-for="(item,index) in 数组
            *item 每一项，index 下标
        *************
        v-for 中的 key
        key作用:
        给元素添加的唯一标识，便于Vue进行列表项的正确排序复用注意点:
            1.key 的值只能是 字符串 或 数字类型
            2.key的值必须具有 唯一性
            3.推荐使用 id 作为 key (唯一)，不推荐使用 index 作为 key (会变化，不对应)
    -->
    <div id="app">
        <p>书架</p>
        <ul>
            <li v-for="(item, index) in booksList" :key="item.id">
                {{item.name}} {{item.author}} 
                <button @click="del(item.id)">删除</button>
            </li>
        </ul>
    </div>

    <script src="../lib/vue.js"></script>

    <script>
        const app = new Vue({
            el: "#app",
            data() {
                return {
                    booksList: [
                        { id: 1, name: '《红楼梦》', author: '曹雪芹' },
                        { id: 2, name: '《西游记》', author: '吴承恩' },
                        { id: 3, name: '《水浒传》', author: '施耐庵' },
                        { id: 4, name: '《三国演义》', author: '罗贯中' }
                    ]
                }
            },
            methods: {
                del(id) {
                    this.booksList = this.booksList.filter(item => item.id != id)
                }
            }

        })
    </script>
</body>

</html>